.\" Copyright Folkert van Heusden, 2003-2016
.\"
.\" This file may be copied under the conditions described
.\" in the GNU GENERAL PUBLIC LICENSE, version 2
.\" that can be found on the website of the free software
.\" foundation.
.\"
.TH HTTPING 1 2016-09 "httping"
.SH ИМЯ
httping - измеряет задержку и пропускную способность веб-сервера
.SH СИНТАКСИС
.BI "httping [" опции "]
.sp
опции:
.BI "[\-g url] [\-h имя_хоста] [\-p номер_порта] [\-x прокси_хост:порт] [\-c число] [\-i интервал] [\-t тайм-аут] [\-s] [\-G] [\-b] [\-L предел_передачи] [\-X] [\-l] [\-z] [\-f] [\-m] [\-o ко,...] [\-e строка]"
.BI "[\-I UserAgent строка] [\-R Referer строка] [\-r] [\-n warn,crit] [\-N режим] [\-q] [\-V]"
.SH ОПИСАНИЕ
Утилита
.B httping
позволяет измерять задержку веб-сервера. Начиная с версии 1.0.6 также есть возможность измерять пропускную способность.
.PP
.SH ОПЦИИ
.TP
.B "\-5"
Выбранный прокси-сервер — это SOCKS5 сервер.
.TP
.B "\-6"
Включить режим IPv6. По умолчанию IPv4.
.TP
.B "\-a"
Слышимый пинг
.TP
.B "\-b"
Используйте этот переключатель вместе с '-\G'. Когда эта опция используется, показывается пропускная способность (в КБ/с).
.TP
.B "\-B"
Используйте этот переключатель вместе с '-\G'. Просит HTTP сервер сжимать возвращаемые данные: это позволит уменьшить важность пропускной способности вашего соединения, увеличивая важность вычислительной мощности HTTP сервера.
.TP
.B "\-c число"
Сколько проб отправить перед тем как выйти.
.TP
.B "\-D"
Не рисовать графики в режиме ncurses (-\K).
.TP
.B "\-e строка"
Когда код ответа отличается от указанных в '\-o', отображать данную строку.
.TP
.B "\-E"
Получить настройки прокси-сервера из переменных окружения ('http_proxy' и 'https_proxy').
.TP
.B "\-F"
Попытаться использовать TCP Fast Open подключаясь к серверу (для Linux ядра версии 3.7 и более)
.TP
.B "\-f"
Флуд пинг: не сидеть сложа руки между каждым пингом, а пинговать быстро, насколько компьютер и сеть позволит вам.
.TP
.B "\-G"
Делать GET запрос вместо HEAD запроса: это значит, что полная страница/файл будет передан. Обратите внимание, в данном случае вы больше не измеряете задержку!
.TP
.B "\-g URL"
Устанавливает URL для проб. К примеру: http://localhost/
.TP
.B "\-h имя_хоста"
Вместо '\-g' вы можете также использовать '\-h' чтобы установить имя хоста, к примеру: \-h localhost
.TP
.B "\-I строка"
UserAgent строка для отправки веб-серверу (по умолчанию 'HTTPing <версия>').
.TP
.B "\-i interval"
Сколько секунд между отправкой каждой пробы.
.TP
.B "\-K"
Включить пользовательский интерфейс ncurses.
.TP
.B "\-L x"
Используйте этот переключатель вместе с '\-G'. Ограничивает объем передаваемых данных значением 'х'. Обратите внимание, это влияет только на содержание страницы/файла, а не на заголовки.
.TP
.B "\-l"
Подключаться с помощью SSL: чтобы это работало вы должны задать 'https' URL или номер порта 443.
.TP
.B "\-m"
Показывать машиночитаемый вывод (смотрите также '\-o' и '\-e').
.TP
.B "\-N x"
Переключает HTTPing в режим 2 Nagios плагина: возвращает 0, когда все хорошо, "х", когда что-то не так. Т.е.: 1 => Nagios состояние warning, 2 => Nagios состояние critical.
.TP
.B "\-n warn,crit"
Переключает HTTPing в режим 1 Nagios плагина: возвращает код выхода '1', когда среднее время отклика больше "warn", и возвращает код выхода '2', когда время на средний отклик больше "crit". Во всех остальных случаях возвращает код выхода '0'.
.TP
.B "\-o x,x,..."
Устанавливает HTTP-коды, которые рассматриваются как ОК-состояния (только с '\-m').
.TP
.B "\-p portnumber"
\-p может быть использован вместе с \-h. \-p выбирает номер_порта для пробы.
.TP
.B "\-q"
Без подробностей, возвращать только код выхода.
.TP
.B "\-R строка"
Referer строка для отправки на веб-сервер.
.TP
.B "\-Q"
Использовать постоянное соединение, т.е. переиспользовать то же самое TCP соединение для нескольких HTTP запросов. обычно возможно когда 'Connection: Keep-Alive' отправлено сервером. добавляет 'C' в вывод если httping был вынужден переподключиться
.TP
.B "\-r"
Резолвить имя хоста только раз: это убирает резолвинг из цикла, так что латентность DNS не измеряется. Также полезно когда вы хотите измерить только 1 веб-сервер, а DNS возвращает новый IP-адрес на каждом резолве ('round robin').
.TP
.B "\-S"
Разделяет измеряемую задержку на время для подключения и на время обмена запросом с HTTP сервером.
.TP
.B "\-s"
Когда транзакция успешна завершена, показывать HTTP код ответа (200, 404 и т.д.).
.TP
.B "\-T x"
Читать пароль для аутентификации веб-сайта из файла 'х' (вместо ввода его в командной строке).
.TP
.B "\-t тайм-аут"
Как долго ждать ответа с другой стороны.
.TP
.B "\-U"
Включить аутентификацию для веб-сайта. Устанавливайте имя пользователя с помощью \-U, пароль с помощью \-P (или используйте \-T, чтобы прочитать пароль из файла).
.TP
.B "\-v"
Увеличить уровень подробностей. Покажет в выводе стандартное отклонение и даты.
.TP
.B "\-W"
Не прерывать программу если резолвинг не удался.
.TP
.B "\-X"
Используйте этот переключатель вместе с '\-G'. Для каждого пинга показывать количество переданных данных (за исключением заголовков).
.TP
.B "\-x прокси_хост[:порт]
Совершать пробу с помощью прокси сервера. Обратите внимание, вы также измеряете задержку работы с прокси сервером!
.TP
.B "\-Y"
Включить цвета
.TP
.B "\-z"
При подключении с помощью SSL, показывать фингерпринт X509 сертификата(ов) пиров.
.TP
.B "\-\-abbreviate"
Сокращать значения больше, чем тысяча, миллион, миллиард, и т.д.
.TP
.B "\-\-adaptive-interval" или "\-\-ai"
(Пытается) исполнять пинг на одном интервале. Например, если интервал установлен в 1.0 секунду и t[n] от пинга до пинга является 500s с длительностью 250 мс, то следующий пинг (t[n+1]) произойдет на 501 секунде, а не на 501.25 секунде. Конечно, когда длительность пинга > больше, чем интервал, пинг будет "пропущен" (не в буквальном смысле: последовательный номер продолжится) и t[n+1] будет на 502-й секунде вместо ожидаемой 501-й. Это полезно, например, в режиме вывода библиотеки, где FFT вычисляется по длительности пинга.
.TP
.B "\-\-aggregates x[,y[,z[,т.д.]]]"
Показывать совокупный результат каждые x[,y[,z[,т.д.]]] секунд.
.TP
.B "\-\-divert\-connect x"
Не обращать внимания на имя хоста в URL и вместо этого подключаться к 'х'. Данный ранее URL будет запрошен у 'х'.
.TP
.B "\-\-draw-phase"
Рисовать не только величину преобразования Фурье, но также и фазу.
.TP
.B "\-\-graph\-limit x"
Если измеренные значения больше, чем х, то ограничить их х.
.TP
.B "\-\-header x"
Добавить дополнительный заголовок запроса 'х'.
.TP
.B "\-\-keep\-cookies"
Когда сервер отправляет куки, оно будет отправлено назад в следующем запросе.
.TP
.B "\-\-max\-mtu x"
Максимальное значение MTU для использования. Не может быть больше, чем MTU сетевого интерфейса.
.TP
.B "\-\-no\-host\-header"
Не ставить "Host:" заголовок в заголовки запроса.
.TP
.B "\-\-no\-tcp\-nodelay"
Не отключать "задержку TCP" (Naggle).
.TP
.B "\-\-priority x"
Установить приоритет пакетов.
.TP
.B "\-\-tos x"
Установить тип сервиса.
.TP
.B "\-\-proxy\-user x"
Использовать имя пользователя 'х' для аутентификации на прокси-сервере (http/socks5) (опционально).
.TP
.B "\-\-proxy\-password x"
Использовать пароль 'х' для аутентификации на прокси-сервере (http/socks5) (опционально).
.TP
.B "\-\-proxy\-password-file x"
Читать пароль из файла 'х' для аутентификации на прокси-сервере (http/socks5) (опционально).
.TP
.B "\-\-recv-buffer x"
Установить размер буфера приема (в байтах).
.TP
.B "\-\-slow\-log x"
Когда длительность больше или равна x, показывать строку пинга в окне медленного журнала (среднее окно).
.TP
.B "\-\-threshold\-red x"
Если измеренный пинг выше, чем х (и \-Y установлен), то показываемое значение будет покрашено в красный. Если вы также используете \-\-threshold\-yellow, то это значение должно быть больше.
.TP
.B "\-\-threshold\-yellow x"
Если измеренный пинг выше, чем х (и \-Y установлен), то показываемое значение будет покрашено в желтый.
.TP
.B "\-\-threshold\-show x"
Если измеренный пинг выше, чем х, то результат будет отображен (по умолчанию отображается всегда). Значение х в мс.
.TP
.B "\-\-timestamp" or "\-\-ts"
Показывать таймстамп перед строками с результатами. Используйте опцию \-v, чтобы показывать также и дату.
.TP
.B "\-\-tx-buffer x"
Установить размер буфера передачи (в байтах).
.TP
.B "\-V"
Показать версию и выйти.

.SH ВЫВОД
В режиме разделения экрана (\-S) вы увидите что-то вроде "время=0.08+24.09+23.17+15.64+0.02=62.98 мс". Первое значение — это время, которое потребовалось, чтобы зарезолвить имя хоста (или 'Н/Д', если оно не резолвилось на этой итерации, например, в режиме "резолвить один раз" (\-r)), затем время, которое потребовалось для подключения (Или \-1 в, например, постоянных соединениях (\-Q, HTTP v1.1)), после этого время, которое потребовалось, чтобы произвести операцию записи, затем, то время, которое потребовалось для HTTP сервера, чтобы обработать запрос и отправить его обратно и, наконец, время, которое потребовалось, чтобы закрыть соединение.

.SH ГРАФИК
График в ncurses использует цвета для кодирования смысла. Зеленый: значение меньше, чем 1 блок. Красный: значение не укладывается в график. Синий: значение было ограничено опцией -\-\-graph\-limit. Бирюзовый: нет измерения для этого момента времени.

.SH КЛАВИШИ
Нажмите <Ctrl> + <c>, чтобы выйти из программы. Это отобразит краткую информацию о том, что было измерено. 
В графическом интерфейсе ncurses, нажмите клавишу <Ctrl> + <l> для принудительной перерисовки экрана. Нажмите 'H', чтобы остановить графики (и снова, чтобы продолжить). Нажмите 'q', чтобы остановить программу (или <Ctrl> + <c>).

.SH ПРИМЕРЫ
.TP
.B "httping \-g http://localhost/"
Исполнить пинг к веб-серверу на хосте "localhost".
.TP
.B "httping \-h localhost \-p 1000"
Исполнить пинг к веб-серверу на хосте "localhost" с номером порта 1000.
.TP
.B "httping \-l \-g https://localhost/"
Исполнить пинг к веб-серверу на хосте "localhost" с помощью соединения SSL.
.TP
.B "httping \-g http://localhost/ -U username -P password"
Исполнить пинг к веб-серверу на хосте "localhost", используя HTTP Basic Authentication..
.SH БАГИ
Нету. В этой программе полностью отсутствуют баги.

.SH "СМОТРИТЕ ТАКЖЕ"
.BR http://www.vanheusden.com/httping/

.SH ЗАМЕТКИ
Эта страница описывает 
.B httping
, который содержится в пакете httping-2.3; другие версии могут немного отличаться.
Пожалуйста, отправляйте исправления и дополнения на mail@vanheusden.com. 
Сообщить об ошибках в программе можно по адресу mail@vanheusden.com.
Пожалуйста, рассмотрите возможность отправки Биткоинов по адресу 1N5Sn4jny4xVwTwSYLnf7WnFQEGoVRmTQF
